package com.deyuanyun.pic.pig.mapper;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

import com.deyuanyun.pic.domain.base.Attachment;
import com.deyuanyun.pic.pig.domain.CleanPipeLineManagerVo;
import com.deyuanyun.pic.pig.domain.EvluationVO;
import com.deyuanyun.pic.pig.domain.InspSegment;
import com.deyuanyun.pic.pig.domain.PigTask;
import com.deyuanyun.pic.pig.domain.PigTaskPoint;

public interface PigTaskMapper {
    int deleteByPrimaryKey(String id);

    int insert(PigTask record);

    int insertSelective(PigTask record);

    PigTask selectByPrimaryKey(String id);

    int updateByPrimaryKeySelective(PigTask record);

    int updateByPrimaryKey(PigTask record);

	List getCleanPipeLineManagerIndex(CleanPipeLineManagerVo taskVo);

	List findByCondition(CleanPipeLineManagerVo taskVo);

	List<InspSegment> getInspSegment(String lineId);

	List getMarkPoint(String inspSegmentId);

	/**
	 * 获取收发球筒
	 * @param map
	 * @return
	 */
	CleanPipeLineManagerVo getPigByInspSegmentId(Map<String, Object> map);

	CleanPipeLineManagerVo getInspSegmentByTaskId(String id);

	List<InspSegment> getAllInspSegmentByTaskId(String id);

	List<String> getInspTaskPoint(String id);

	List<PigTaskPoint> getOldPointByTaskId(String taskId);

	List getCleanPipeLineHistoryIndex(CleanPipeLineManagerVo vo);

	List findHistoryByCondition(CleanPipeLineManagerVo taskVo);

	List selectPigByPigNumber(String pigNum);

	List<CleanPipeLineManagerVo> getcleanType();

	List getCleanTool();

	CleanPipeLineManagerVo getcleanTypeByTypeId(String cleanTypeId);

	EvluationVO getHeadValue(Map<String, Object> map);

	List<EvluationVO> getListValue(Map<String, Object> map);

	PigTask getPigTaskByName(Map<String, Object> map);
	//根据任务Id查询收发球，跟踪点的图片
	List getAttachmentImgByTaskId(Map<String, Object> map);

	void insertBall(Map<String, Object> sendMap);

	void updateBall(Map<String, Object> sendMap);
	/**
	 * 获取任务附件
	 * @param taskId
	 * @return
	 */
	List<Attachment> selectAttachmentByTaskId(String taskId);

	/**
	 * 易位表插入数据
	 * @param reverseMap
	 */
	void insertReverse(Map<String, Object> reverseMap);
	
	/**
	 * 查询是否易位
	 * @param id
	 * @return
	 */
	String selectReverseByTaskId(String taskId);
	/**
	 * 是否易位的跟踪点信息
	 * @param inspSegmentId
	 * @param reverse
	 * @return
	 */
	List getReverseMarkPoint(Map<String, Object> map);
	/**
	 * 删除易位表数据
	 * @param taskId
	 */
	void deleteReverseByTaskId(String taskId);

	/**
	 * 查询所有的三通
	 * @param pramMap
	 * @return
	 */
	List findAllMapData(Map<String, Object> pramMap);
	
	/**
	 * 查询
	 * @return
	 */
	List<String> findAllSegmentByInspSegmentId(String segmentId);
	/**
	 * 查询该检测管段上的所有点
	 * @param segmentId
	 * @return
	 */
	List<HashMap<String, Object>> findZuoBiaoByInspSegmentId(Map<String, Object> map);

}